export default {
	namespaced:true,
	state:{
		token:uni.getStorageSync('token'),
		userInfo:uni.getStorageSync('userInfo') || {},
		// uni.getStorageSync 方法，默认就会帮助你执行 JSON.parse 解析，如果出错就直接返回读取数据
	},
	mutations:{
		// 设置token
		setToken(state,data){
			// 设置在state
			state.token = data
			// 设置给本地
			uni.setStorageSync('token',data)
		},
		// 设置用户资料
		setUserInfo(state,data){
			// 设置在state
			state.userInfo = data
			// 设置给本地
			uni.setStorageSync('userInfo',data)
		}
	},
	actions:{
		// 微信登录
		async wxLoginAction(context){
			// 调用 uni.login
			uni.login({
				success:async (res)=>{
					// res.code 就是登录凭证，只需要将code提交给服务器端即可
					let result = await uni.$http.post('/auth/loginByWeixin',{
						code:res.code
					})
					console.log(result);
					// 存储token
					context.commit('setToken',result.token)
					// 获取一下用户的资料  【需要携带token的，但是我们的请求拦截器已经写好了配置】
					let result2 = await uni.$http.get('/user/profile')
					// 存储用户资料
					context.commit('setUserInfo',result2)
					// 获取购物车数据  【增加这一句】
					await context.dispatch('cart/getInitData',null,{root:true})
				},
				fail:err=>{
					console.log(err);
				}
			})
		}
	}	
}